package com.itianyu.blog.dao.interfaces;

import java.io.Serializable;
import java.util.List;

import com.itianyu.blog.dao.beans.Tag;

/**
 * 标签接口
 * @author wumgji
 */
public interface TagInterface extends Serializable {

	/**
	 * 创建标签实体
	 * @return
	 */
	public Tag createTag();

	/**
	 * 保存标签信息
	 * @param tag 标签实体
	 * @return
	 */
	public Tag saveTag(Tag tag);

	/**
	 * 根据标签ID删除标签信息
	 * @param tagId 标签ID
	 */
	public void deleteTag(int tagId);

	/**
	 * 根据标签ID查询标签信息
	 * @param tagId 标签ID
	 * @return
	 */
	public Tag findTag(int tagId);

	/**
	 * 根据标签名查询标签信息
	 * @param tagname 标签名
	 * @return
	 */
	public Tag findTagByName(String tagname);

	/**
	 * 查询标签列表
	 * @return
	 */
	public List<Tag> findTagEntities();

	/**
	 * 计算标签列表的总数
	 * @return
	 */
	public int getTagCount();

	/**
	 * 查询已发布博文总数以及对应的标签
	 * @return
	 */
	public List<Object[]> findTagEntitiesAndEntryCount();

}
